var obj = {
  name: 'obj',
  foo: function() {
    console.log(this)
  }
}
console.log("直接输出")
obj.foo()
// 1.显示绑定优于隐式绑定
console.log("既有显示绑定也有隐式绑定")
obj.foo.call("aaa")

// 2.bind 隐式绑定
var bar = obj.foo.bind("bbb")
bar()

// 3.更明显的比较,bind显示绑定优先级高于隐式绑定
function foo() {
  console.log(this)
}

var obj1 = {
  name: "obj1",
  foo: foo.bind("ccc")
}
obj1.foo()

